Inter-Class Mutation Operators for Java

نویسندگان

  • Yu-Seung Ma
  • Yong Rae Kwon
  • A. Jefferson Offutt
چکیده

The effectiveness of mutation testing depends heavily on the types of faults that the mutation operators are designed to represent. Therefore, the quality of the mutation operators is key to mutation testing. Mutation testing has traditionally been applied to procedural-based languages, and mutation operators have been developed to support most of their language features. Object-oriented programming languages contain new language features, most notably inheritance, polymorphism, and dynamic binding. Not surprisingly, these language features allow new kinds of faults, some of which are not modeled by traditional mutation operators. Although mutation operators for OO languages have previously been suggested, our work in OO faults indicate that the previous operators are insufficient to test these OO language features, particularly at the class testing level. This paper introduces a new set of class mutation operators for the OO language Java. These operators are based on specific OO faults and can be used to detect faults involving inheritance, polymorphism, and dynamic binding, thus are useful for inter-class testing. An initial Java mutation tool has recently been completed, and a more powerful version is currently under construction.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Mutation Operators for Concurrent Java (J2SE 5.0)1

The current version of Java (J2SE 5.0) provides a high level of support for concurreny in comparison to previous versions. For example, programmers using J2SE 5.0 can now achieve synchronization between concurrent threads using explicit locks, semaphores, barriers, latches, or exchangers. Furthermore, built-in concurrent data structures such as hash maps and queues, built-in thread pools, and a...

متن کامل

The Rigorous Generation of Java Mutation Operators Using HAZOP

This report proposes the use of a safety technique known as HAZOP (Hazard and Operability Studies) to rigorously generate mutation operators for Java. A set of Java mutation operators is proposed by applying HAZOP to the Java syntax definition and is compared to the operator sets of current mutation systems. Hypothesised flaws, which are also obtained by HAZOP application to Java language const...

متن کامل

Assessing Test Set Adequacy for Object-Oriented Programs Using Class Mutation

The object-oriented paradigm has seen widespread acceptance by the software development community but the testing of programs written in object oriented languages is less well developed than the testing of programs written in conventional ones. This paper introduces Class Mutation which is a form of OO-directed selective mutation testing that provides a means of assessing how good developed tes...

متن کامل

STRUCTURAL OPTIMIZATION USING A MUTATION-BASED GENETIC ALGORITHM

The present study is an attempt to propose a mutation-based real-coded genetic algorithm (MBRCGA) for sizing and layout optimization of planar and spatial truss structures. The Gaussian mutation operator is used to create the reproduction operators. An adaptive tournament selection mechanism in combination with adaptive Gaussian mutation operators are proposed to achieve an effective search in ...

متن کامل

A Systematic Approach for Designing Mutation Operators for MDE Languages

Testing is an essential activity in software development, used to increase confidence in the quality of software. One testing approach that is used to evaluate the quality of testing inputs for a particular program is mutation analysis. The most important step in mutation analysis is the process of defining mutation operators that mimic typical errors of the users of a language. There is a wide...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002